Фильтрация IoC при загрузке
Инструкция описывает настройку фильтрации индикаторов компрометации (IoC), получаемых от API Solar TI Feeds. Можно ограничить типы IoC на уровне API и дополнительно отфильтровать индикаторы по давности или другим условиям в пайплайне.
Шаг 1. Откройте конфигурацию пайплайна
Перейдите в директорию:
pkl/configs/
Выберите нужный файл пайплайна, например:
base_pipeline.pkl
Шаг 2. Ограничьте типы IoC на уровне API
В блоке настроек FeedsAPIGenerator есть блок FeedsAPIRequestParams. В нём можно указать дополнительные параметры запроса, например типы индикаторов.
Пример:
types = new Listing {
"ipv4"
"domain"
"url"
"sha256"
}
В этом случае API вернёт только указанные типы индикаторов.
Шаг 3. Добавьте дополнительный фильтр в пайплайн
Если нужно получать только активные IoC не старее N дней, используйте трансформер agent.Filter.
Пример для индикаторов типа IPv4, активных менее 365 дней назад:
transforms {
new agent.Filter{
name = "filter"
inputs {
"feeds-api-generator"
}
filters = new Listing {
"""last_seen.After(now().Add(-365*duration("24h")))"""
"""type in (["IPV4"])"""
}
}
}
Для другого количества дней замените 365 на нужное значение. Например, для 30 дней:
"""last_seen.After(now().Add(-30*duration("24h")))"""
Шаг 4. Укажите несколько типов в фильтре при необходимости
Пример фильтра по нескольким типам:
"""type in (["IPV4", "DOMAIN", "URL", "SHA256"])"""
Точные названия типов проверяйте в базовой конфигурации агента:
pkl/internal/agent.pkl
Шаг 5. Сохраните конфигурацию и перезапустите агент
docker compose down
docker compose up -d
Шаг 6. Проверьте результат
Результаты работы агента сохраняются в:
./workdir/artifacts/
Логи работы:
./workdir/logs/agent.log
При фильтрации на уровне API агент получит и сохранит только указанные типы.
При фильтрации через agent.Filter из API будут получены все индикаторы и сохранены в БД агента, но в интеграцию попадут только прошедшие фильтр.